package course.d1222;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
Exception 类 extends   Throwable 类：
异常分为两种： 编译期异常和运算异常
编译器异常：Exception 类以及它的子类；
特点： 异常必须被处理，否则程序无法运行
运行期异常： RuntimeException类以及它的子类；
特点： 可以不处理，也可以不处理；

编译器异常：在写代码的时候出现的异常，如果不处理，程序无法执行
1.处理编译器异常的第一种方法：
      交给调用者处理；
      格式：修饰符  返回值类型  方法名  throws XxxException,XxxException...{}
2.第二种处理方式：使用try-catch处理异常
     格式： try{
     //可能出现的异常代码
     }catch(XxxException e ){
     //捕获到异常对象的处理逻辑
     }catch(XxxException e ){
     //捕获到异常对象的处理逻辑
     }
    解释： 在try中，如果出现了异常，就抛出一个异常对象，异常对象会被catch捕获到，抓到异常对象后，就会执行{}中的代码
    注意：如果捕获多个异常对象。必须是子类在前，父类在后
 */
public class p2 {
    public static void main(String[] args)  {
        d();
    }

    private static void d() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd");
        Date parse = null;
        try {
            parse = dateFormat.parse("2020 .1.1");
            System.out.println("try结束////////////////////////");
        } catch (ParseException e) {
            System.out.println("出错");
            e.printStackTrace();
        }
        System.out.println(parse);
    }
}
